/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package hudsonlab.control;

import hudsonlab.dao.ClientesJpaController;
import hudsonlab.entity.Clientes;
import hudsonlab.exceptions.PreexistingEntityException;
import java.util.Arrays;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 *
 * @author Grupo2
 */
public class RegistroControl {
    private ClientesJpaController dao=new ClientesJpaController();

    RegistroControl(String prueba) {
        dao=new ClientesJpaController(prueba);
    }

    public RegistroControl() {
        
    }
    public boolean registrar(String nombreUsuario,char[] clave,String nombre,String apellido){
        assert nombreUsuario!=null&&clave!=null&&nombre!=null&&apellido!=null :"Hay campos nulos";
        if(nombreUsuario.isEmpty()||clave.length==0||nombre.isEmpty()||apellido.isEmpty()){
            Arrays.fill(clave, '0');
                        hudsonlab.HudsonLab.getInstance().mostrarMensaje("Mensaje de Error","Algún campo se encuentra vacio",0);

            return false;
        }
        Clientes c=new Clientes(nombreUsuario, new String(clave), nombre, apellido);
        try {
            dao.create(c);
        } catch (PreexistingEntityException ex) {
                        hudsonlab.HudsonLab.getInstance().mostrarMensaje("Mensaje de Error","El usuario ya se encuentra registrado en el sistema",0);

            Logger.getLogger(RegistroControl.class.getName()).log(Level.SEVERE, null, ex);
            return false;
        } catch (Exception ex) {
                        hudsonlab.HudsonLab.getInstance().mostrarMensaje("Mensaje de Error","Error Inesperado",0);
                        
            Logger.getLogger(RegistroControl.class.getName()).log(Level.SEVERE, null, ex);
            return false;
        }
        hudsonlab.HudsonLab.getInstance().mostrarMensaje("Información", "Usted se a registrado con exito", 1);
        return true;
    }
}
